package com.sven.sharedb.core.db.service;

/**
 * 创建日期按量分片建表定时任务接口
 * @author sven.wang
 * @version 2022/5/26 11:55
 */
public interface ICountCreateDateShareJobService {

    /**
     * 获取逻辑表名
     * @return 逻辑表名
     */
    String getLogicTableName();

    /**
     * 获取表数据量阈值
     * @return 表数据量阈值
     */
    Integer getThreshold();

    /**
     * 获取分表实际节点
     * @return 分表实际节点
     */
    String getActualDataNodes();

    /**
     * 创建新时段表sql
     * @param newTableName 新表名
     */
    void createNextTimeTable(String newTableName);

    /**
     * 计算表数量sql
     * @param tableName 表名
     * @return 表数量
     */
    int getTableNameCount(String tableName);
}
